home *** CD-ROM | disk | FTP | other *** search
/ Freelog 100 / FreelogNo100-NovembreDecembre2010.iso / Musique / solfege / solfege-win32-3.17.0.exe / {app} / bin / Lib / hotshot / stones.py < prev   
Text File  |  2005-10-28  |  808b  |  32 lines

  1. import errno
  2. import hotshot
  3. import hotshot.stats
  4. import os
  5. import sys
  6. import test.pystone
  7.  
  8. def main(logfile):
  9.     p = hotshot.Profile(logfile)
  10.     benchtime, stones = p.runcall(test.pystone.pystones)
  11.     p.close()
  12.  
  13.     print "Pystone(%s) time for %d passes = %g" % \
  14.           (test.pystone.__version__, test.pystone.LOOPS, benchtime)
  15.     print "This machine benchmarks at %g pystones/second" % stones
  16.  
  17.     stats = hotshot.stats.load(logfile)
  18.     stats.strip_dirs()
  19.     stats.sort_stats('time', 'calls')
  20.     try:
  21.         stats.print_stats(20)
  22.     except IOError, e:
  23.         if e.errno != errno.EPIPE:
  24.             raise
  25.  
  26. if __name__ == '__main__':
  27.     if sys.argv[1:]:
  28.         main(sys.argv[1])
  29.     else:
  30.         import tempfile
  31.         main(tempfile.NamedTemporaryFile().name)
  32.